Method and apparatus to select a profile of a digital communication line

ABSTRACT

A method of selecting a profile of a digital communication line includes determining a first throughput value of the digital communication line, the first throughput value associated with a first profile and determined based at least in part on a count of code violations. The method includes determining a second throughput value of the digital communication line that is associated with a second profile, the second throughput value determined based on the count of code violations. The method includes identifying a selected profile that has a greater corresponding throughput value. The first throughput value is greater than the second throughput value when the count of code violations is less than a threshold and the first throughput value is smaller than the second throughput value when the count of code violations is greater than the threshold.

CLAIM OF PRIORITY

The present application claims priority from and is a continuation ofU.S. patent application Ser. No. 10/764,816 filed on Jan. 26, 2004 andentitled “Method of Selecting a Profile of a Digital Subscriber Line,”the contents of which are expressly incorporated herein by reference intheir entirety.

BACKGROUND

The traditional process for making asynchronous digital subscriber line(ADSL) performance adjustments is based on measurements of lineperformance parameters, such as signal noise margin and relativecapacity. These line performance parameters do not directly measure theactual data transfer rate provided by an ADSL connection. Further, lineperformance adjustments are typically made using a manual process thatdepends on a particular technician's preferences, experience, andjudgment. This manual process often leads to inaccurate performanceadjustments and is typically error-prone. Even after an ADSL line hasbeen adjusted, the actual data transfer performance of the ADSL line maybe better, the same, or may be worse since the customer experience anddata transfer rates are not directly measured or calculated during theadjustment process.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram that illustrates a DSL control system.

FIG. 2 is a flow chart that illustrates an embodiment of a method ofselecting a profile of a DSL line.

FIGS. 3-6 are general diagrams that illustrate graphical displays thatmay be provided to a user of the system of FIG. 1 in connection with DSLprofile selection.

DETAILED DESCRIPTION

The disclosure presents an ADSL line performance adjustment method andsystem that measures and responds to profile performance parameters suchas code violations, signal noise margin and relative capacity.

An ADSL user's experience is determined by the level of TCP/IP datapacket throughput the user receives. When an ADSL line's conditiondegrades due to lowered signal noise margin (SNM), increased impulsenoise, increased interference, or other adverse conditions, the line mayexperience dramatic increases of code violations, which means dataintegrity has been violated. The code violations, if unable to becorrected by the forward error correction (FEC) of the ADSL codingalgorithm, result in TCP/IP packet re-transmission. The TCP/IPre-transmissions in turn lowers overall TCP/IP throughput.

If an ADSL line experiences a high degree of code violations, it mightneed to be moved to a lower speed profile that is more resistant tonoise, or moved to an interleaved channel profile (if it is currentlyrunning at a fast channel profile) where the interleaving providessuperior error correction ability. The line's code violation count canbe greatly reduced with an appropriate new line profile. But, a lowerspeed profile or interleaved channel profile results in lower linespeed. (In the case of interleaved channel profiles, lowered speed isthe result of the delay that comes from frame scrambling and buffering).Therefore, whether or not a troubled line needs a new profile and whichnew profile should be selected depends on the line profile that canachieve higher TCP/IP throughput (current profile with higher line speedand higher code violations or lower speed profile or an interleavedchannel profile with lower code violations).

The present disclosure provides a method that can be used to determinewhen a digital communication line should be moved to a different profilein order to increase its TCP/IP throughput. The disclosed system andmethod is useful for typical user web browsing, since the throughput ofvarious TCP/IP applications is affected differently by code violations.

In a particular embodiment, a method of selecting a profile of a digitalsubscriber line is disclosed and includes determining a first throughputvalue of the digital subscriber line, the first throughput valueassociated with a first profile and determined based at least in part ona count of code violations. The first profile includes a firsttransmission speed associated with the digital subscriber line. Themethod includes determining a second throughput value of the digitalsubscriber line, the second throughput value associated with a secondprofile and based at least in part based on the count of codeviolations. The second profile includes a second transmission speedassociated with the digital subscriber line. The method includesidentifying, from the first profile and the second profile, a selectedprofile that has a greater corresponding throughput value. The firstthroughput value is greater than the second throughput value when thecount of code violations is less than a threshold. The first throughputvalue is smaller than the second throughput value when the count of codeviolations is greater than the threshold.

In another particular embodiment, a digital subscriber line controlsystem includes a controller including a processor, the controlleroperative to determine a selected profile from a first profile and asecond profile, each profile having a corresponding throughput value.The selected profile has the corresponding throughput value that is agreater of a first throughput value associated with the first profileand a second throughput value associated with the second profile. Thefirst throughput value is greater than the second throughput value whena count of code violations is smaller than a threshold and the firstthroughput value is smaller than the second throughput value when thecount of code violations is greater than the threshold.

In another particular embodiment, a computer-readable medium storesprocessor-executable instructions that, when executed, cause theprocessor to determine a first throughput value of a digitalcommunication line. The first throughput value is associated with afirst profile and is based at least in part on a count of codeviolations. The first profile includes a first transmission speedassociated with the digital communication line. The processor-executableinstructions further cause the processor to determine a secondthroughput value of the digital communication line. The secondthroughput value is associated with a second profile and is determinedat least in part based on the count of code violations. The secondprofile includes a second transmission speed associated with the digitalcommunication line. The processor-executable instructions includeinstructions to identify, from the first profile and the second profile,a selected profile that has a greater corresponding throughput value.The first throughput value is greater than the second throughput valuewhen the count of code violations is less than a threshold and the firstthroughput value is less than the second throughput value when the countof code violations is greater than the threshold.

Referring to FIG. 1, a system that may be used to select profiles and toadjust digital subscriber line performance is shown. The system includesa controller 100, a DSL code violation measurement unit 102, a profiledatabase 106, and a data packet throughput storage module 108. Thecontroller 100 is also coupled, either directly or remotely, to aterminal device 104 that includes a display 130. The DSL code violationmeasurement unit 102 is responsive to and takes measurements of DSLlines 110. The controller 100 includes a processor 120 and a memory 122.The memory includes a profile selection software routine that may beexecuted by the processor 120. The controller 100 is coupled to theprofile database 106, the data packet throughput measurement unit 108,and the DSL code violation measurement unit 102. The controller 100receives DSL profiles 140 from the profile database 106, and receivesdata packet throughput data 142 from the data packet throughput dataunit 108. The controller 100 receives code violation data 144 from theDSL code violation measurement unit 102. The controller 100 providesreports, including graphical displays and charts, on the display 130 ofthe terminal device 104. In a particular embodiment, the terminal device104 is a remote device that includes a web browser interface and iscoupled to the controller via a distributed data network.

Referring to FIG. 2, an illustrative method of selecting a profile to beapplied to a DSL line is shown. At step 202, the method includes thestep of determining a number of code violations of the digitalsubscriber line. A first estimated data packet throughput valueassociated with a first profile based on the number of code violationsis determined, at 204, and a second estimated data packet throughputvalue associated with a second profile based on the number of codeviolations is determined, at step 206. A profile to be applied to thedigital subscriber line is selected, at step 208. The profile selectedis based on a comparison of the first estimated data packet throughputvalue and the second estimated data packet throughput value. Forexample, the profile that has the highest estimated data packetthroughput value may be selected. An example of a data packet throughputvalue is a TCP/IP throughput value. After the profile is selected, theselected profile may be applied to the DSL line, at step 210.

As shown at step 212, the illustrated method steps 202-210 mayoptionally be repeated for a plurality of different DSL lines. In asample network, there may a vast number of DSL lines, and a selectedprofile may be determined for each of the DSL lines. The above describedmethod may be automatically performed using a computer system todetermine a selected profile that provides the highest TCP/IP throughputvalue. The TCP/IP throughput value estimates are based on code violationcounts and these estimates and estimate curves are determined based onlaboratory test data. In this manner, an automated system and method hasbeen described to provide for increased TCP/IP packet transferperformance over an entire network of DSL lines. An example of anautomated system is to use the system of FIG. 1 where the profileselection routine 124 within the controller 100 is a computer programthat performs the operational steps and computations illustrated in FIG.2.

The TCP/IP packet transfer rate is useful since this data packet rate istied to the performance experienced by the end customers. For example,the transfer rate provides the speed that a given website is displayedand downloaded onto an end DSL subscriber's computer while thatsubscriber is surfing the internet.

Referring to FIGS. 3-6, a plurality of graphical displays 300, 400, 500,and 600 are shown. Each of the graphical displays shows a graphicalchart that may be provided on the display 130 of the terminal device104. Each of the graphical displays include a first display curve for afirst profile, a second display curve for a second profile, and a thirddisplay curve for a third display profile. Each display curve is formedfrom a plurality of TCP/IP throughput data points at a particular numberof measured code violations for a particular DSL line. For example, thefirst display curve referenced in FIG. 3 is a fast speed profile at atransmission speed of 1536 kbits per second. The second profilereferenced in FIG. 3 is an interleaved channel profile also at 1536kbits per second. The third display curve is a fast speed profile at thereduced speed of 768 kbits per second. As the number of code violationsincrease, such as due to increased DSL line noise, the preferred profilechanges from the first display curve to the second display curve at anintersection point between data points 315 and 661, at a noise level ofabout 58 millivolts, as shown in FIG. 3. The number of code violationscorresponds to the magnitude of noise that is injected into a particularDSL line.

The first curve has a second intersection point with the third curve ata higher level of noise/code violations. As shown in FIG. 3, the secondintersection point is between the data point at 661 and the data pointof 2309 code violations, at about 60.4 millivolts of noise. Thus, forthe particular example shown in FIG. 3, the disclosed profile selectionmethod would select the first profile (with the first profile displaycurve) for code violation measured readings of 0, 44, 130, and 315 andwould selected the second profile (with the second profile displaycurve) at the code violation reading of 661. The third profile would beselected for increased noise leading to code violations above the pointof intersection between the 768 curve and the 1536 fast curve, atapproximately 2000 code violations. The number of code violations shownis the count of detected code violations accumulated during a timeperiod of fifteen minutes. Other time periods may be used such asintervals of 30 minutes or hourly. In addition to the fixed data pointsshown, the curves can be prorated and intersection points extrapolatedto make profile selections. For example, for a DSL line with a fast(i.e. noninterleaved) speed of 1536 kbits per second (kb/s), when thisline experiences more than about 450 code violations every 15 minutes,the line should be switched to the 1536 kbits per second interleavedprofile.

Referring to FIG. 4, a TCP/IP throughput vs. Code Violations for impulsenoise graphical display is shown for a DSL line that starts with a 768(kb/s) fast speed profile. This diagram shows profile selectiontransition points between the 768 kb/s interleaved profile and the 384fast (i.e. non-interleaved) profile. FIG. 5 shows a similar chart for384 kb/s and 192 kb/s profiles, and FIG. 6 shows a similar chart for a192 kb/s and a 192 kb/s interleaved profile.

Unlike traditional ADSL optimization, which is based solely on lineperformance parameters such as code violations, signal noise margin andrelative capacity, the method presented is based on both TCP/IPthroughput and ADSL layer parameters. The method and system presented isbased on experimental results of lab testing, while traditional ADSLoptimization relies on individual service technicians' preferences.

The method and system disclosed produces clear criteria to determinewhen a line should be switched to another profile, and provides betterTCP/IP throughput and therefore, better user experience. Since thismethod is based on TCP/IP throughput, ADSL users can determine how muchfaster they can download a file after switching to another profile.

The above disclosed subject matter is to be considered illustrative, andnot restrictive, and the appended claims are intended to cover all suchmodifications, enhancements, and other embodiments which fall within thescope of the present invention. Thus, to the maximum extent allowed bylaw, the scope of the present invention is to be determined by thebroadest permissible interpretation of the following claims and theirequivalents, and shall not be restricted or limited by the foregoingdetailed description.

What is claimed is:
 1. A method comprising: determining a count of codeviolations associated with a digital subscriber line; and selecting aparticular profile of a plurality of profiles based on a comparison ofthe count of code violations to a threshold, wherein the plurality ofprofiles includes at least a first profile associated with a firsttransmission speed and a second profile associated with a secondtransmission speed, wherein the first profile is selected as theparticular profile when the count of code violations is within a firstrange, wherein the second profile is selected when the count of codeviolations is within a second range that is different from the firstrange, wherein the first transmission speed is a non-interleavedtransmission speed and the second transmission speed is an interleavedtransmission speed, wherein a first throughput value associated with thefirst profile is higher than a second throughput value associated withthe second profile when the count of code violations is within the firstrange, and wherein the first throughput value is lower than the secondthroughput value when the count of code violations is within the secondrange.
 2. The method of claim 1, wherein the count of code violations isdetermined by counting data transmission anomalies associated with datatransmitted over the digital subscriber line during a pre-determinedtime period.
 3. The method of claim 2, wherein the data transmissionanomalies include a signal to noise characteristic, an impulse noisecharacteristic, an interference characteristic, or a combinationthereof.
 4. The method of claim 1, wherein the first transmission speedis 1536 kbits per second, and wherein the second transmission speed is768 kbits per second.
 5. The method of claim 1, further comprisinggenerating a graphical display that illustrates the first throughputvalue associated with the first profile, the second throughput valueassociated with the second profile, and the count of code violations. 6.The method of claim 5, wherein the graphical display illustrates a firstset of data points for the first profile and a second set of data pointsfor the second profile.
 7. The method of claim 1, further comprisingapplying the selected particular profile to the digital subscriber line.8. The method of claim 1, further comprising: determining the firstthroughput value of the digital subscriber line based on the count ofcode violations, wherein the first throughput value comprises a firstdata packet transmission control protocol/internet protocol throughputvalue; and determining the second throughput value of the digitalsubscriber line based on the count of code violations, wherein thesecond throughput value comprises a second data packet transmissioncontrol protocol/internet protocol throughput value, wherein theparticular profile is selected based further on the first throughputvalue and the second throughput value.
 9. The method of claim 1, whereinthe count of code violations is determined by counting data transmissionanomalies and wherein the data transmission anomalies include a bipolarviolation, an excessive zeros error event, a frame synchronization biterror, or a combination thereof.
 10. The method of claim 1, wherein thecount of code violations is determined by counting data transmissionanomalies and wherein the data transmission anomalies include at leasttwo of a bipolar violation, an excessive zeros error event, a framesynchronization bit error, or a combination thereof.
 11. The method ofclaim 1, wherein the first transmission speed is 1536 kbits per second,and wherein the second transmission speed is 1536 kbits per second. 12.A digital subscriber line control system comprising: a controllercomprising a processor, the controller configured to: receive a count ofcode violations associated with a digital subscriber line; and select aparticular profile of a plurality of profiles based on a comparison ofthe count of code violations to a threshold, wherein the plurality ofprofiles includes at least a first profile associated with a firsttransmission speed, and a second profile associated with a secondtransmission speed, wherein the first profile is selected as theparticular profile when the count of code violations is within a firstrange, wherein the second profile is selected when the count of codeviolations is within a second range that is different from the firstrange, wherein the first transmission speed is a non-interleavedtransmission speed and the second transmission speed is an interleavedtransmission speed, wherein a first throughput value associated with thefirst profile is higher than a second throughput value associated withthe second profile when the count of code violations is within the firstrange, and wherein the first throughput value is lower than the secondthroughput value when the count of code violations is within the secondrange.
 13. The digital subscriber line control system of claim 12,further comprising a code violation measurement unit configured to:determine the count of code violations during a time period, wherein thecount of code violations is determined by counting data transmissionanomalies; and provide the count of code violations to the controller.14. The digital subscriber line control system of claim 12, furthercomprising a profile database to store the plurality of profilesincluding the first profile and the second profile.
 15. The digitalsubscriber line control system of claim 12, wherein the first profileassociated with the first transmission speed is a non-interleavedprofile and the second profile associated with the second transmissionspeed is an interleaved profile, and wherein the second transmissionspeed is the same as the first transmission speed.
 16. The digitalsubscriber line control system of claim 12, wherein the firsttransmission speed is 1536 kbits per second and wherein the secondtransmission speed is 768 kbits per second.
 17. The digital subscriberline control system of claim 12, further comprising a terminal deviceresponsive to the controller, the terminal device configured to displaya graphical report, the graphical report including a first profile curveillustrating code violation data for the first profile and a secondprofile curve illustrating code violation data for the second profile.18. A computer-readable storage memory device includingprocessor-executable instructions that, when executed, cause theprocessor to perform operations comprising: determining a count of codeviolations associated with a digital subscriber line, wherein the countof code violations is determined by counting data transmissionanomalies; and selecting a particular profile of a plurality of profilesbased on a comparison of the count of code violations to a threshold,wherein the plurality of profiles includes at least a first profileassociated with a first transmission speed, and a second profileassociated with the first transmission speed, wherein the first profileis selected as the particular profile when the count of code violationsis within a first range, wherein the second profile is selected when thecount of code violations is within a second range that is different fromthe first range, wherein the first transmission speed is anon-interleaved transmission speed and the second transmission speed isan interleaved transmission speed, wherein a first throughput valueassociated with the first profile is higher than a second throughputvalue associated with the second profile when the count of codeviolations is within the first range, and wherein the first throughputvalue is lower than the second throughput value when the count of codeviolations is within the second range.
 19. The computer-readable storagememory device of claim 18, wherein the operations further compriseapplying the selected particular profile to the digital subscriber line.